|
In computer science, a succinct data structure is a data structure which uses an amount of space that is "close" to the information-theoretic lower bound, but (unlike other compressed representations) still allows for efficient query operations. The concept was originally introduced by Jacobson〔 to encode bit vectors, (unlabeled) trees, and planar graphs. Unlike general lossless data compression algorithms, succinct data structures retain the ability to use them in-place, without decompressing them first. A related notion is that of a compressed data structure, in which the size of the data structure depends upon the particular data being represented. Suppose that is the information-theoretical optimal number of bits needed to store some data. A representation of this data is called: * ''implicit'' if it takes bits of space, * ''succinct'' if it takes bits of space, and * ''compact'' if it takes bits of space. For example, a data structure that uses bits of storage is compact, bits is succinct, bits is also succinct, and bits is implicit. Implicit structures are thus usually reduced to storing information using some permutation of the input data; the most well-known example of this is the heap. ==Succinct dictionaries== Succinct indexable dictionaries, also called ''rank/select'' dictionaries, form the basis of a number of succinct representation techniques, including binary trees, -ary trees and multisets,〔 as well as suffix trees and arrays.〔 The basic problem is to store a subset of a universe * bits of additional storage can be used to support select in constant time.〔 In practice, many of these solutions have hidden constants in the notation which dominate before any asymptotic advantage becomes apparent; implementations using broadword operations and word-aligned blocks often perform better in practice.〔 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「succinct data structure」の詳細全文を読む スポンサード リンク
|